resources.c \
signals-list.h \
signals-list.c \
- themes.h \
- themes.c \
visual.h \
visual.c \
widget-tree.h \
object-hierarchy.ui \
prop-list.ui \
signals-list.ui \
- themes.ui \
visual.ui \
widget-tree.ui \
window.ui
#include "python-shell.h"
#include "resources.h"
#include "signals-list.h"
-#include "themes.h"
#include "visual.h"
#include "widget-tree.h"
#include "window.h"
g_type_ensure (GTK_TYPE_INSPECTOR_PROP_LIST);
g_type_ensure (GTK_TYPE_INSPECTOR_PYTHON_SHELL);
g_type_ensure (GTK_TYPE_INSPECTOR_SIGNALS_LIST);
- g_type_ensure (GTK_TYPE_INSPECTOR_THEMES);
g_type_ensure (GTK_TYPE_INSPECTOR_VISUAL);
g_type_ensure (GTK_TYPE_INSPECTOR_WIDGET_TREE);
g_type_ensure (GTK_TYPE_INSPECTOR_WINDOW);
<file>object-hierarchy.ui</file>
<file>prop-list.ui</file>
<file>signals-list.ui</file>
- <file>themes.ui</file>
<file>visual.ui</file>
<file>widget-tree.ui</file>
<file>window.ui</file>
+++ /dev/null
-/*
- * Copyright (c) 2013 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "themes.h"
-
-struct _GtkInspectorThemesPrivate
-{
- GtkWidget *dark_switch;
- GtkWidget *theme_combo;
- GtkWidget *icon_combo;
-};
-
-G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorThemes, gtk_inspector_themes, GTK_TYPE_LIST_BOX)
-
-static void
-init_dark (GtkInspectorThemes *pt)
-{
- g_object_bind_property (pt->priv->dark_switch, "active",
- gtk_settings_get_default (), "gtk-application-prefer-dark-theme",
- G_BINDING_BIDIRECTIONAL);
-}
-
-static void
-fill_gtk (const gchar *path,
- GHashTable *t)
-{
- const gchar *dir_entry;
- GDir *dir = g_dir_open (path, 0, NULL);
-
- if (!dir)
- return;
-
- while ((dir_entry = g_dir_read_name (dir)))
- {
- gchar *filename = g_build_filename (path, dir_entry, "gtk-3.0", "gtk.css", NULL);
-
- if (g_file_test (filename, G_FILE_TEST_IS_REGULAR) &&
- !g_hash_table_contains (t, dir_entry))
- g_hash_table_add (t, g_strdup (dir_entry));
-
- g_free (filename);
- }
-}
-
-static void
-init_theme (GtkInspectorThemes *pt)
-{
- GHashTable *t;
- GHashTableIter iter;
- gchar *theme, *current_theme, *path;
- gint i, pos;
- GSettings *settings;
-
- t = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
- g_hash_table_add (t, g_strdup ("Raleigh"));
-
- fill_gtk (GTK_DATADIR "/themes", t);
- path = g_build_filename (g_get_user_data_dir (), "themes", NULL);
- fill_gtk (path, t);
- g_free (path);
-
- settings = g_settings_new ("org.gnome.desktop.interface");
- current_theme = g_settings_get_string (settings, "gtk-theme");
- g_object_unref (settings);
-
- g_hash_table_iter_init (&iter, t);
- pos = i = 0;
- while (g_hash_table_iter_next (&iter, (gpointer *)&theme, NULL))
- {
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (pt->priv->theme_combo), theme);
- if (g_strcmp0 (theme, current_theme) == 0)
- pos = i;
- i++;
- }
- g_hash_table_destroy (t);
-
- gtk_combo_box_set_active (GTK_COMBO_BOX (pt->priv->theme_combo), pos);
-}
-
-static void
-fill_icons (const gchar *path,
- GHashTable *t)
-{
- const gchar *dir_entry;
- GDir *dir = g_dir_open (path, 0, NULL);
-
- if (!dir)
- return;
-
- while ((dir_entry = g_dir_read_name (dir)))
- {
- gchar *filename = g_build_filename (path, dir_entry, "index.theme", NULL);
-
- if (g_file_test (filename, G_FILE_TEST_IS_REGULAR) &&
- g_strcmp0 (dir_entry, "hicolor") != 0 &&
- !g_hash_table_contains (t, dir_entry))
- g_hash_table_add (t, g_strdup (dir_entry));
-
- g_free (filename);
- }
-}
-
-static void
-init_icons (GtkInspectorThemes *pt)
-{
- GHashTable *t;
- GHashTableIter iter;
- gchar *theme, *current_theme, *path;
- gint i, pos;
- GSettings *settings;
-
- t = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
-
- fill_icons (GTK_DATADIR "/icons", t);
- path = g_build_filename (g_get_user_data_dir (), "icons", NULL);
- fill_icons (path, t);
- g_free (path);
-
- settings = g_settings_new ("org.gnome.desktop.interface");
- current_theme = g_settings_get_string (settings, "icon-theme");
- g_object_unref (settings);
-
- g_hash_table_iter_init (&iter, t);
- pos = i = 0;
- while (g_hash_table_iter_next (&iter, (gpointer *)&theme, NULL))
- {
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (pt->priv->icon_combo), theme);
- if (g_strcmp0 (theme, current_theme) == 0)
- pos = i;
- i++;
- }
- g_hash_table_destroy (t);
-
- gtk_combo_box_set_active (GTK_COMBO_BOX (pt->priv->icon_combo), pos);
-}
-
-static void
-theme_changed (GtkComboBox *c,
- GtkInspectorThemes *pt)
-{
- gchar *theme = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (c));
- g_object_set (gtk_settings_get_default (), "gtk-theme-name", theme, NULL);
- g_free (theme);
-}
-
-static void
-icons_changed (GtkComboBox *c,
- GtkInspectorThemes *pt)
-{
- gchar *theme = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (c));
- g_object_set (gtk_settings_get_default (), "gtk-icon-theme-name", theme, NULL);
- g_free (theme);
-}
-
-static void
-gtk_inspector_themes_init (GtkInspectorThemes *pt)
-{
- pt->priv = gtk_inspector_themes_get_instance_private (pt);
- gtk_widget_init_template (GTK_WIDGET (pt));
-
- init_dark (pt);
- init_theme (pt);
- init_icons (pt);
-}
-
-static void
-gtk_inspector_themes_class_init (GtkInspectorThemesClass *klass)
-{
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
-
- gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/inspector/themes.ui");
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorThemes, dark_switch);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorThemes, theme_combo);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorThemes, icon_combo);
-
- gtk_widget_class_bind_template_callback (widget_class, theme_changed);
- gtk_widget_class_bind_template_callback (widget_class, icons_changed);
-}
-
-GtkWidget *
-gtk_inspector_themes_new (void)
-{
- return GTK_WIDGET (g_object_new (GTK_TYPE_INSPECTOR_THEMES, NULL));
-}
-
-// vim: set et sw=2 ts=2:
+++ /dev/null
-/*
- * Copyright (c) 2013 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#ifndef _GTK_INSPECTOR_THEMES_H_
-#define _GTK_INSPECTOR_THEMES_H_
-
-#include <gtk/gtk.h>
-
-#define GTK_TYPE_INSPECTOR_THEMES (gtk_inspector_themes_get_type())
-#define GTK_INSPECTOR_THEMES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_INSPECTOR_THEMES, GtkInspectorThemes))
-#define GTK_INSPECTOR_THEMES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_INSPECTOR_THEMES, GtkInspectorThemesClass))
-#define GTK_INSPECTOR_IS_THEMES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_INSPECTOR_THEMES))
-#define GTK_INSPECTOR_IS_THEMES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_INSPECTOR_THEMES))
-#define GTK_INSPECTOR_THEMES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_INSPECTOR_THEMES, GtkInspectorThemesClass))
-
-
-typedef struct _GtkInspectorThemesPrivate GtkInspectorThemesPrivate;
-
-typedef struct _GtkInspectorThemes
-{
- GtkListBox parent;
- GtkInspectorThemesPrivate *priv;
-} GtkInspectorThemes;
-
-typedef struct _GtkInspectorThemesClass
-{
- GtkListBoxClass parent;
-} GtkInspectorThemesClass;
-
-G_BEGIN_DECLS
-
-GType gtk_inspector_themes_get_type (void);
-GtkWidget *gtk_inspector_themes_new (void);
-
-G_END_DECLS
-
-#endif // _GTK_INSPECTOR_THEMES_H_
-
-// vim: set et sw=2 ts=2:
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<interface domain="gtk30">
- <template class="GtkInspectorThemes" parent="GtkListBox">
- <property name="selection-mode">none</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Use dark variant</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkSwitch" id="dark_switch">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">GTK+ Theme</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkComboBoxText" id="theme_combo">
- <property name="visible">True</property>
- <signal name="changed" handler="theme_changed"/>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Icon Theme</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkComboBoxText" id="icon_combo">
- <property name="visible">True</property>
- <signal name="changed" handler="icons_changed"/>
- </object>
- </child>
- </object>
- </child>
- </template>
-</interface>
struct _GtkInspectorVisualPrivate
{
- GtkWidget *updates_switch;
GtkWidget *direction_combo;
+ GtkWidget *updates_switch;
GtkWidget *baselines_switch;
GtkWidget *pixelcache_switch;
-};
-G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorVisual, gtk_inspector_visual, GTK_TYPE_LIST_BOX)
+ GtkWidget *theme_combo;
+ GtkWidget *dark_switch;
+ GtkWidget *icon_combo;
+};
-static void
-updates_activate (GtkSwitch *sw)
-{
- gdk_window_set_debug_updates (gtk_switch_get_active (sw));
-}
+G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorVisual, gtk_inspector_visual, GTK_TYPE_BOX)
static void
-fix_direction_recurse (GtkWidget *widget, gpointer data)
+fix_direction_recurse (GtkWidget *widget,
+ gpointer data)
{
GtkTextDirection dir = GPOINTER_TO_INT (data);
gtk_combo_box_set_active_id (GTK_COMBO_BOX (vis->priv->direction_combo), direction);
}
+void
+updates_activate (GtkSwitch *sw)
+{
+ gdk_window_set_debug_updates (gtk_switch_get_active (sw));
+}
+
static void
baselines_activate (GtkSwitch *sw)
{
}
static void
-gtk_inspector_visual_init (GtkInspectorVisual *pt)
+fill_gtk (const gchar *path,
+ GHashTable *t)
+{
+ const gchar *dir_entry;
+ GDir *dir = g_dir_open (path, 0, NULL);
+
+ if (!dir)
+ return;
+
+ while ((dir_entry = g_dir_read_name (dir)))
+ {
+ gchar *filename = g_build_filename (path, dir_entry, "gtk-3.0", "gtk.css", NULL);
+
+ if (g_file_test (filename, G_FILE_TEST_IS_REGULAR) &&
+ !g_hash_table_contains (t, dir_entry))
+ g_hash_table_add (t, g_strdup (dir_entry));
+
+ g_free (filename);
+ }
+}
+
+static void
+init_theme (GtkInspectorVisual *vis)
+{
+ GHashTable *t;
+ GHashTableIter iter;
+ gchar *theme, *current_theme, *path;
+ gint i, pos;
+ GSettings *settings;
+
+ t = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ g_hash_table_add (t, g_strdup ("Raleigh"));
+
+ fill_gtk (GTK_DATADIR "/themes", t);
+ path = g_build_filename (g_get_user_data_dir (), "themes", NULL);
+ fill_gtk (path, t);
+ g_free (path);
+
+ settings = g_settings_new ("org.gnome.desktop.interface");
+ current_theme = g_settings_get_string (settings, "gtk-theme");
+ g_object_unref (settings);
+
+ g_hash_table_iter_init (&iter, t);
+ pos = i = 0;
+ while (g_hash_table_iter_next (&iter, (gpointer *)&theme, NULL))
+ {
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (vis->priv->theme_combo), theme);
+ if (g_strcmp0 (theme, current_theme) == 0)
+ pos = i;
+ i++;
+ }
+ g_hash_table_destroy (t);
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (vis->priv->theme_combo), pos);
+}
+
+static void
+theme_changed (GtkComboBox *c,
+ GtkInspectorVisual *vis)
{
- pt->priv = gtk_inspector_visual_get_instance_private (pt);
- gtk_widget_init_template (GTK_WIDGET (pt));
+ gchar *theme;
- init_direction (pt);
+ theme = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (c));
+ g_object_set (gtk_settings_get_default (), "gtk-theme-name", theme, NULL);
+ g_free (theme);
+}
+
+static void
+init_dark (GtkInspectorVisual *vis)
+{
+ g_object_bind_property (vis->priv->dark_switch, "active",
+ gtk_settings_get_default (), "gtk-application-prefer-dark-theme",
+ G_BINDING_BIDIRECTIONAL);
+}
+
+static void
+fill_icons (const gchar *path,
+ GHashTable *t)
+{
+ const gchar *dir_entry;
+ GDir *dir;
+
+ dir = g_dir_open (path, 0, NULL);
+ if (!dir)
+ return;
+
+ while ((dir_entry = g_dir_read_name (dir)))
+ {
+ gchar *filename = g_build_filename (path, dir_entry, "index.theme", NULL);
+
+ if (g_file_test (filename, G_FILE_TEST_IS_REGULAR) &&
+ g_strcmp0 (dir_entry, "hicolor") != 0 &&
+ !g_hash_table_contains (t, dir_entry))
+ g_hash_table_add (t, g_strdup (dir_entry));
+
+ g_free (filename);
+ }
+}
+
+static void
+init_icons (GtkInspectorVisual *vis)
+{
+ GHashTable *t;
+ GHashTableIter iter;
+ gchar *theme, *current_theme, *path;
+ gint i, pos;
+ GSettings *settings;
+
+ t = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+
+ fill_icons (GTK_DATADIR "/icons", t);
+ path = g_build_filename (g_get_user_data_dir (), "icons", NULL);
+ fill_icons (path, t);
+ g_free (path);
+
+ settings = g_settings_new ("org.gnome.desktop.interface");
+ current_theme = g_settings_get_string (settings, "icon-theme");
+ g_object_unref (settings);
+
+ g_hash_table_iter_init (&iter, t);
+ pos = i = 0;
+ while (g_hash_table_iter_next (&iter, (gpointer *)&theme, NULL))
+ {
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (vis->priv->icon_combo), theme);
+ if (g_strcmp0 (theme, current_theme) == 0)
+ pos = i;
+ i++;
+ }
+ g_hash_table_destroy (t);
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (vis->priv->icon_combo), pos);
+}
+
+static void
+icons_changed (GtkComboBox *c,
+ GtkInspectorVisual *vis)
+{
+ gchar *theme = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (c));
+ g_object_set (gtk_settings_get_default (), "gtk-icon-theme-name", theme, NULL);
+ g_free (theme);
+}
+
+static void
+gtk_inspector_visual_init (GtkInspectorVisual *vis)
+{
+ vis->priv = gtk_inspector_visual_get_instance_private (vis);
+ gtk_widget_init_template (GTK_WIDGET (vis));
+ init_direction (vis);
+ init_theme (vis);
+ init_dark (vis);
+ init_icons (vis);
}
static void
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, direction_combo);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, baselines_switch);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, pixelcache_switch);
+ gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, dark_switch);
+ gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, theme_combo);
+ gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, icon_combo);
+
gtk_widget_class_bind_template_callback (widget_class, updates_activate);
gtk_widget_class_bind_template_callback (widget_class, direction_changed);
gtk_widget_class_bind_template_callback (widget_class, baselines_activate);
gtk_widget_class_bind_template_callback (widget_class, pixelcache_activate);
+ gtk_widget_class_bind_template_callback (widget_class, theme_changed);
+ gtk_widget_class_bind_template_callback (widget_class, icons_changed);
+
}
GtkWidget *
typedef struct _GtkInspectorVisual
{
- GtkListBox parent;
+ GtkBox parent;
GtkInspectorVisualPrivate *priv;
} GtkInspectorVisual;
typedef struct _GtkInspectorVisualClass
{
- GtkListBoxClass parent;
+ GtkBoxClass parent;
} GtkInspectorVisualClass;
G_BEGIN_DECLS
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="gtk30">
- <template class="GtkInspectorVisual" parent="GtkListBox">
- <property name="selection-mode">none</property>
+ <template class="GtkInspectorVisual" parent="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="margin">60</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkBox">
+ <object class="GtkFrame" id="visual_frame">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
+ <property name="halign">center</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkListBox">
<property name="visible">True</property>
- <property name="label" translatable="yes">Text Direction</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkComboBoxText" id="direction_combo">
- <property name="visible">True</property>
- <signal name="changed" handler="direction_changed"/>
- <items>
- <item translatable="yes" id="ltr">Left-to-Right</item>
- <item translatable="yes" id="rtl">Right-to-Left</item>
- </items>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Show Graphic Updates</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkSwitch" id="updates_switch">
- <property name="visible">True</property>
- <signal name="notify::active" handler="updates_activate"/>
+ <property name="selection-mode">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="direction_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Text Direction</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="direction_combo">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="changed" handler="direction_changed"/>
+ <items>
+ <item translatable="yes" id="ltr">Left-to-Right</item>
+ <item translatable="yes" id="rtl">Right-to-Left</item>
+ </items>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="updates_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show Graphic Updates</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="updates_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="notify::active" handler="updates_activate"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="baselines_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show Baselines</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="baselines_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="notify::active" handler="baselines_activate"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="pixelcache_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show Pixel Cache</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="pixelcache_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="notify::active" handler="pixelcache_activate"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkBox">
+ <object class="GtkFrame" id="theme_frame">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Show Baselines</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkSwitch" id="baselines_switch">
- <property name="visible">True</property>
- <signal name="notify::active" handler="baselines_activate"/>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="margin">10</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Show Pixel Cache</property>
- <property name="hexpand">True</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
+ <property name="halign">center</property>
<child>
- <object class="GtkSwitch" id="pixelcache_switch">
+ <object class="GtkListBox">
<property name="visible">True</property>
- <signal name="notify::active" handler="pixelcache_activate"/>
+ <property name="selection-mode">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="theme_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">GTK+ Theme</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="theme_combo">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="changed" handler="theme_changed"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="dark_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Dark variant</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="dark_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="icon_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Icon Theme</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="icon_combo">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ <signal name="changed" handler="icons_changed"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
</template>
+ <object class="GtkSizeGroup">
+ <property name="mode">horizontal</property>
+ <widgets>
+ <widget name="direction_label"/>
+ <widget name="updates_label"/>
+ <widget name="baselines_label"/>
+ <widget name="pixelcache_label"/>
+ <widget name="theme_label"/>
+ <widget name="dark_label"/>
+ <widget name="icon_label"/>
+ </widgets>
+ </object>
+ <object class="GtkSizeGroup">
+ <property name="mode">horizontal</property>
+ <widgets>
+ <widget name="visual_frame"/>
+ <widget name="theme_frame"/>
+ </widgets>
+ </object>
+-->
</interface>
#include "python-shell.h"
#include "button-path.h"
#include "data-list.h"
-#include "themes.h"
#include "signals-list.h"
#include "actions.h"
<property name="label" translatable="yes">Visual</property>
</object>
</child>
- <child>
- <object class="GtkInspectorThemes">
- <property name="visible">True</property>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Themes</property>
- </object>
- </child>
<child>
<object class="GtkInspectorCssEditor">
<property name="visible">True</property>
gtk/inspector/prop-list.ui.h
gtk/inspector/signals-list.c
gtk/inspector/signals-list.ui.h
-gtk/inspector/themes.ui.h
gtk/inspector/visual.ui.h
gtk/inspector/widget-tree.ui.h
gtk/inspector/window.c